In 1986, the ITU (International Telegraph Union), ISO (International Organization for Standardization), industry and universities started a standardization group, the Joint Photographic Experts Group (JPEG). The goal for this group was to develop a new image compression technique. This resulted in an official standard in the beginning of the nineties. JPEG ratified a first version of a standard aimed at reducing the storage space needed for digital still pictures. The JPEG standard is widely used in processing of digital images. The processing of digital images is used in varied products ranging from digital cameras to portable video recording devices. The JPEG standard provided multiple methods for coding a JPEG image
The JPEG standard provides for a baseline JPEG coding and a progressive JPEG coding. In baseline JPEG coding, the image is displayed line by line. When an image is decoded in a baseline JPEG decoder, the image will start displaying line by line from the top to the bottom of the image. In progressive JPEG coding, an image is displayed in one scan but the image is of low quality and/or blurred. As more data becomes available to a progressive JPEG decoder, the resolution of the image increases to provide a high quality image in subsequent scans.
The widespread usage of social media for image sharing has led to the popularity of progressive JPEG image format. This is because the progressive JPEG image format provides refinement of image over time on slow internet connection. Thus, an internet user will be able to see the full image as soon as the image is clicked to be displayed. However, the image would be of low quality and it is refined for better quality in iterative cycles. Typically, these progressive JPEG images are decoded by means of a software that results in increased time spent on decoding of images.
As resolution in terms of megapixels of these images increases, the time spent on decoding of images increases proportionately. The embedded devices available today have a baseline JPEG decoder support due to traditional camera capture and local playback. The baseline JPEG decoder supports decoding of baseline JPEG images only. Most available SoC's have hardware baseline decoder and addition of a progressive JPEG decoder incurs a huge cost. Thus, there is a need to decode progressive JPEG images using existing hardware solution which supports baseline JPEG image decoding and also to avoid design and development of new hardware.